package com.pan.kang.core;


import lombok.Getter;
import lombok.Setter;

import java.util.List;


@Getter
@Setter
public abstract class PostProcessParam {

    @Getter
    @Setter
    public static class PlanTask<P, R> {
        private final String methodName;
        private final P arguments;
        private final R result;

        public PlanTask(String methodName, P arguments, R result) {
            this.methodName = methodName;
            this.arguments = arguments;
            this.result = result;
        }
    }

    @Getter
    @Setter
    public static class Execute extends PostProcessParam {
        private List<PostProcessTask> tasks;
    }
}
